package com.logicfishsoftware.wolfgo.api;

import java.util.Collection;


public interface VirtualFileSystemConnection {

	public abstract boolean exists(String fileName) throws VirtualFileSystemException;

	public abstract <T extends VirtualFile> T put(String fileName, Class<T> cls) throws VirtualFileSystemException;

	public abstract boolean dirExists(String pathName) throws VirtualFileSystemException;

	public abstract VirtualFile get(String fileName) throws VirtualFileSystemException;

	public abstract VirtualDirectory getDir(String string)throws VirtualFileSystemException;
	
	public abstract Collection<VirtualFile> getChildren(String pathName) throws VirtualFileSystemException;

	public abstract void setAttributes(String fileName, int fileAttributes) throws VirtualFileSystemException;

	public abstract VirtualFile delete(String fileName) throws VirtualFileSystemException;

	public abstract VirtualContentConnection getContentConnection();

	public abstract void close();

	public abstract void rollback(VirtualFileSystemException e);


}